<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-comment">-- | See &lt;https://github.com/ezyang/ghc-proposals/blob/backpack/proposals/0000-backpack.rst&gt;</span><span>
</span><span id="line-2"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Distribution.Backpack.PreExistingComponent</span><span> </span><span class="hs-special">(</span><span>
</span><span id="line-3"></span><span>    </span><span class="annot"><a href="Distribution.Backpack.PreExistingComponent.html#PreExistingComponent"><span class="hs-identifier">PreExistingComponent</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-4"></span><span>    </span><span class="annot"><a href="Distribution.Backpack.PreExistingComponent.html#ipiToPreExistingComponent"><span class="hs-identifier">ipiToPreExistingComponent</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-5"></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-6"></span><span>
</span><span id="line-7"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Prelude.html#"><span class="hs-identifier">Prelude</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-8"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Compat.Prelude.html"><span class="hs-identifier">Distribution.Compat.Prelude</span></a></span><span>
</span><span id="line-9"></span><span>
</span><span id="line-10"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Backpack.ModuleShape.html"><span class="hs-identifier">Distribution.Backpack.ModuleShape</span></a></span><span>
</span><span id="line-11"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Backpack.html"><span class="hs-identifier">Distribution.Backpack</span></a></span><span>
</span><span id="line-12"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.ComponentId.html"><span class="hs-identifier">Distribution.Types.ComponentId</span></a></span><span>
</span><span id="line-13"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.MungedPackageId.html"><span class="hs-identifier">Distribution.Types.MungedPackageId</span></a></span><span>
</span><span id="line-14"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.PackageId.html"><span class="hs-identifier">Distribution.Types.PackageId</span></a></span><span>
</span><span id="line-15"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.UnitId.html"><span class="hs-identifier">Distribution.Types.UnitId</span></a></span><span>
</span><span id="line-16"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.ComponentName.html"><span class="hs-identifier">Distribution.Types.ComponentName</span></a></span><span>
</span><span id="line-17"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Types.PackageName.html"><span class="hs-identifier">Distribution.Types.PackageName</span></a></span><span>
</span><span id="line-18"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.Package.html"><span class="hs-identifier">Distribution.Package</span></a></span><span>
</span><span id="line-19"></span><span>
</span><span id="line-20"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="../../containers/src/Data.Map.html#"><span class="hs-identifier">Data.Map</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">Map</span></span><span>
</span><span id="line-21"></span><span class="hs-keyword">import</span><span> </span><span class="hs-keyword">qualified</span><span> </span><span class="annot"><a href="Distribution.InstalledPackageInfo.html"><span class="hs-identifier">Distribution.InstalledPackageInfo</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">Installed</span></span><span>
</span><span id="line-22"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Distribution.InstalledPackageInfo.html"><span class="hs-identifier">Distribution.InstalledPackageInfo</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Distribution.Types.InstalledPackageInfo.html#InstalledPackageInfo"><span class="hs-identifier">InstalledPackageInfo</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-23"></span><span>
</span><span id="line-24"></span><span class="hs-comment">-- | Stripped down version of 'LinkedComponent' for things</span><span>
</span><span id="line-25"></span><span class="hs-comment">-- we don't need to know how to build.</span><span>
</span><span id="line-26"></span><span class="hs-keyword">data</span><span> </span><span id="PreExistingComponent"><span class="annot"><a href="Distribution.Backpack.PreExistingComponent.html#PreExistingComponent"><span class="hs-identifier hs-var">PreExistingComponent</span></a></span></span><span>
</span><span id="line-27"></span><span>    </span><span class="hs-glyph">=</span><span> </span><span id="PreExistingComponent"><span class="annot"><a href="Distribution.Backpack.PreExistingComponent.html#PreExistingComponent"><span class="hs-identifier hs-var">PreExistingComponent</span></a></span></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-28"></span><span>        </span><span class="hs-comment">-- | The actual name of the package. This may DISAGREE with 'pc_pkgid'</span><span>
</span><span id="line-29"></span><span>        </span><span class="hs-comment">-- for internal dependencies: e.g., an internal component @lib@ may be</span><span>
</span><span id="line-30"></span><span>        </span><span class="hs-comment">-- munged to @z-pkg-z-lib@, but we still want to use it when we see</span><span>
</span><span id="line-31"></span><span>        </span><span class="hs-comment">-- @lib@ in @build-depends@</span><span>
</span><span id="line-32"></span><span>        </span><span id="pc_pkgname"><span class="annot"><span class="annottext">PreExistingComponent -&gt; PackageName
</span><a href="Distribution.Backpack.PreExistingComponent.html#pc_pkgname"><span class="hs-identifier hs-var hs-var">pc_pkgname</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.PackageName.html#PackageName"><span class="hs-identifier hs-type">PackageName</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-33"></span><span>        </span><span class="hs-comment">-- | The actual name of the component.</span><span>
</span><span id="line-34"></span><span>        </span><span id="pc_compname"><span class="annot"><span class="annottext">PreExistingComponent -&gt; ComponentName
</span><a href="Distribution.Backpack.PreExistingComponent.html#pc_compname"><span class="hs-identifier hs-var hs-var">pc_compname</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.ComponentName.html#ComponentName"><span class="hs-identifier hs-type">ComponentName</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-35"></span><span>        </span><span id="pc_munged_id"><span class="annot"><span class="annottext">PreExistingComponent -&gt; MungedPackageId
</span><a href="Distribution.Backpack.PreExistingComponent.html#pc_munged_id"><span class="hs-identifier hs-var hs-var">pc_munged_id</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.MungedPackageId.html#MungedPackageId"><span class="hs-identifier hs-type">MungedPackageId</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-36"></span><span>        </span><span id="pc_uid"><span class="annot"><span class="annottext">PreExistingComponent -&gt; UnitId
</span><a href="Distribution.Backpack.PreExistingComponent.html#pc_uid"><span class="hs-identifier hs-var hs-var">pc_uid</span></a></span></span><span>   </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.UnitId.html#UnitId"><span class="hs-identifier hs-type">UnitId</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-37"></span><span>        </span><span id="pc_cid"><span class="annot"><span class="annottext">PreExistingComponent -&gt; ComponentId
</span><a href="Distribution.Backpack.PreExistingComponent.html#pc_cid"><span class="hs-identifier hs-var hs-var">pc_cid</span></a></span></span><span>   </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.ComponentId.html#ComponentId"><span class="hs-identifier hs-type">ComponentId</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-38"></span><span>        </span><span id="pc_open_uid"><span class="annot"><span class="annottext">PreExistingComponent -&gt; OpenUnitId
</span><a href="Distribution.Backpack.PreExistingComponent.html#pc_open_uid"><span class="hs-identifier hs-var hs-var">pc_open_uid</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Backpack.html#OpenUnitId"><span class="hs-identifier hs-type">OpenUnitId</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-39"></span><span>        </span><span id="pc_shape"><span class="annot"><span class="annottext">PreExistingComponent -&gt; ModuleShape
</span><a href="Distribution.Backpack.PreExistingComponent.html#pc_shape"><span class="hs-identifier hs-var hs-var">pc_shape</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Backpack.ModuleShape.html#ModuleShape"><span class="hs-identifier hs-type">ModuleShape</span></a></span><span>
</span><span id="line-40"></span><span>    </span><span class="hs-special">}</span><span>
</span><span id="line-41"></span><span>
</span><span id="line-42"></span><span class="hs-comment">-- | Convert an 'InstalledPackageInfo' into a 'PreExistingComponent',</span><span>
</span><span id="line-43"></span><span class="hs-comment">-- which was brought into scope under the 'PackageName' (important for</span><span>
</span><span id="line-44"></span><span class="hs-comment">-- a package qualified reference.)</span><span>
</span><span id="line-45"></span><span class="annot"><a href="Distribution.Backpack.PreExistingComponent.html#ipiToPreExistingComponent"><span class="hs-identifier hs-type">ipiToPreExistingComponent</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Distribution.Types.InstalledPackageInfo.html#InstalledPackageInfo"><span class="hs-identifier hs-type">InstalledPackageInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Distribution.Backpack.PreExistingComponent.html#PreExistingComponent"><span class="hs-identifier hs-type">PreExistingComponent</span></a></span><span>
</span><span id="line-46"></span><span id="ipiToPreExistingComponent"><span class="annot"><span class="annottext">ipiToPreExistingComponent :: InstalledPackageInfo -&gt; PreExistingComponent
</span><a href="Distribution.Backpack.PreExistingComponent.html#ipiToPreExistingComponent"><span class="hs-identifier hs-var hs-var">ipiToPreExistingComponent</span></a></span></span><span> </span><span id="local-6989586621679722836"><span class="annot"><span class="annottext">InstalledPackageInfo
</span><a href="#local-6989586621679722836"><span class="hs-identifier hs-var">ipi</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-47"></span><span>    </span><span class="annot"><span class="annottext">PreExistingComponent :: PackageName
-&gt; ComponentName
-&gt; MungedPackageId
-&gt; UnitId
-&gt; ComponentId
-&gt; OpenUnitId
-&gt; ModuleShape
-&gt; PreExistingComponent
</span><a href="Distribution.Backpack.PreExistingComponent.html#PreExistingComponent"><span class="hs-identifier hs-type">PreExistingComponent</span></a></span><span> </span><span class="hs-special">{</span><span>
</span><span id="line-48"></span><span>        </span><span class="annot"><span class="annottext">pc_pkgname :: PackageName
</span><a href="Distribution.Backpack.PreExistingComponent.html#pc_pkgname"><span class="hs-identifier hs-var">pc_pkgname</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">InstalledPackageInfo -&gt; PackageName
forall pkg. Package pkg =&gt; pkg -&gt; PackageName
</span><a href="Distribution.Package.html#packageName"><span class="hs-identifier hs-var">packageName</span></a></span><span> </span><span class="annot"><span class="annottext">InstalledPackageInfo
</span><a href="#local-6989586621679722836"><span class="hs-identifier hs-var">ipi</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-49"></span><span>        </span><span class="annot"><span class="annottext">pc_compname :: ComponentName
</span><a href="Distribution.Backpack.PreExistingComponent.html#pc_compname"><span class="hs-identifier hs-var">pc_compname</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">LibraryName -&gt; ComponentName
</span><a href="Distribution.Types.ComponentName.html#CLibName"><span class="hs-identifier hs-var">CLibName</span></a></span><span> </span><span class="annot"><span class="annottext">(LibraryName -&gt; ComponentName) -&gt; LibraryName -&gt; ComponentName
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="../../base/src/GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">InstalledPackageInfo -&gt; LibraryName
</span><a href="Distribution.Types.InstalledPackageInfo.html#sourceLibName"><span class="hs-identifier hs-var hs-var">Installed.sourceLibName</span></a></span><span> </span><span class="annot"><span class="annottext">InstalledPackageInfo
</span><a href="#local-6989586621679722836"><span class="hs-identifier hs-var">ipi</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-50"></span><span>        </span><span class="annot"><span class="annottext">pc_munged_id :: MungedPackageId
</span><a href="Distribution.Backpack.PreExistingComponent.html#pc_munged_id"><span class="hs-identifier hs-var">pc_munged_id</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">InstalledPackageInfo -&gt; MungedPackageId
forall pkg. HasMungedPackageId pkg =&gt; pkg -&gt; MungedPackageId
</span><a href="Distribution.Package.html#mungedId"><span class="hs-identifier hs-var">mungedId</span></a></span><span> </span><span class="annot"><span class="annottext">InstalledPackageInfo
</span><a href="#local-6989586621679722836"><span class="hs-identifier hs-var">ipi</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-51"></span><span>        </span><span class="annot"><span class="annottext">pc_uid :: UnitId
</span><a href="Distribution.Backpack.PreExistingComponent.html#pc_uid"><span class="hs-identifier hs-var">pc_uid</span></a></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">InstalledPackageInfo -&gt; UnitId
</span><a href="Distribution.Types.InstalledPackageInfo.html#installedUnitId"><span class="hs-identifier hs-var hs-var">Installed.installedUnitId</span></a></span><span> </span><span class="annot"><span class="annottext">InstalledPackageInfo
</span><a href="#local-6989586621679722836"><span class="hs-identifier hs-var">ipi</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-52"></span><span>        </span><span class="annot"><span class="annottext">pc_cid :: ComponentId
</span><a href="Distribution.Backpack.PreExistingComponent.html#pc_cid"><span class="hs-identifier hs-var">pc_cid</span></a></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">InstalledPackageInfo -&gt; ComponentId
</span><a href="Distribution.InstalledPackageInfo.html#installedComponentId"><span class="hs-identifier hs-var">Installed.installedComponentId</span></a></span><span> </span><span class="annot"><span class="annottext">InstalledPackageInfo
</span><a href="#local-6989586621679722836"><span class="hs-identifier hs-var">ipi</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-53"></span><span>        </span><span class="annot"><span class="annottext">pc_open_uid :: OpenUnitId
</span><a href="Distribution.Backpack.PreExistingComponent.html#pc_open_uid"><span class="hs-identifier hs-var">pc_open_uid</span></a></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-54"></span><span>            </span><span class="annot"><span class="annottext">ComponentId -&gt; OpenModuleSubst -&gt; OpenUnitId
</span><a href="Distribution.Backpack.html#IndefFullUnitId"><span class="hs-identifier hs-var">IndefFullUnitId</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">InstalledPackageInfo -&gt; ComponentId
</span><a href="Distribution.InstalledPackageInfo.html#installedComponentId"><span class="hs-identifier hs-var">Installed.installedComponentId</span></a></span><span> </span><span class="annot"><span class="annottext">InstalledPackageInfo
</span><a href="#local-6989586621679722836"><span class="hs-identifier hs-var">ipi</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-55"></span><span>                            </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[(ModuleName, OpenModule)] -&gt; OpenModuleSubst
forall k a. Ord k =&gt; [(k, a)] -&gt; Map k a
</span><a href="../../containers/src/Data.Map.Internal.html#fromList"><span class="hs-identifier hs-var">Map.fromList</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">InstalledPackageInfo -&gt; [(ModuleName, OpenModule)]
</span><a href="Distribution.Types.InstalledPackageInfo.html#instantiatedWith"><span class="hs-identifier hs-var hs-var">Installed.instantiatedWith</span></a></span><span> </span><span class="annot"><span class="annottext">InstalledPackageInfo
</span><a href="#local-6989586621679722836"><span class="hs-identifier hs-var">ipi</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-56"></span><span>        </span><span class="annot"><span class="annottext">pc_shape :: ModuleShape
</span><a href="Distribution.Backpack.PreExistingComponent.html#pc_shape"><span class="hs-identifier hs-var">pc_shape</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">InstalledPackageInfo -&gt; ModuleShape
</span><a href="Distribution.Backpack.ModuleShape.html#shapeInstalledPackage"><span class="hs-identifier hs-var">shapeInstalledPackage</span></a></span><span> </span><span class="annot"><span class="annottext">InstalledPackageInfo
</span><a href="#local-6989586621679722836"><span class="hs-identifier hs-var">ipi</span></a></span><span>
</span><span id="line-57"></span><span>    </span><span class="hs-special">}</span><span>
</span><span id="line-58"></span><span>
</span><span id="line-59"></span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="Distribution.Package.html#HasMungedPackageId"><span class="hs-identifier hs-type">HasMungedPackageId</span></a></span><span> </span><span class="annot"><a href="Distribution.Backpack.PreExistingComponent.html#PreExistingComponent"><span class="hs-identifier hs-type">PreExistingComponent</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-60"></span><span>  </span><span id="local-6989586621679722822"><span class="annot"><span class="annottext">mungedId :: PreExistingComponent -&gt; MungedPackageId
</span><a href="#local-6989586621679722822"><span class="hs-identifier hs-var hs-var hs-var hs-var">mungedId</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PreExistingComponent -&gt; MungedPackageId
</span><a href="Distribution.Backpack.PreExistingComponent.html#pc_munged_id"><span class="hs-identifier hs-var hs-var">pc_munged_id</span></a></span><span>
</span><span id="line-61"></span><span>
</span><span id="line-62"></span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="Distribution.Package.html#Package"><span class="hs-identifier hs-type">Package</span></a></span><span> </span><span class="annot"><a href="Distribution.Backpack.PreExistingComponent.html#PreExistingComponent"><span class="hs-identifier hs-type">PreExistingComponent</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-63"></span><span>  </span><span id="local-6989586621679722818"><span class="annot"><span class="annottext">packageId :: PreExistingComponent -&gt; PackageIdentifier
</span><a href="Distribution.Package.html#packageId"><span class="hs-identifier hs-var hs-var hs-var hs-var">packageId</span></a></span></span><span> </span><span id="local-6989586621679722816"><span class="annot"><span class="annottext">PreExistingComponent
</span><a href="#local-6989586621679722816"><span class="hs-identifier hs-var">pec</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PackageName -&gt; Version -&gt; PackageIdentifier
</span><a href="Distribution.Types.PackageId.html#PackageIdentifier"><span class="hs-identifier hs-var">PackageIdentifier</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PreExistingComponent -&gt; PackageName
</span><a href="Distribution.Backpack.PreExistingComponent.html#pc_pkgname"><span class="hs-identifier hs-var hs-var">pc_pkgname</span></a></span><span> </span><span class="annot"><span class="annottext">PreExistingComponent
</span><a href="#local-6989586621679722816"><span class="hs-identifier hs-var">pec</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621679722814"><span class="hs-identifier hs-var">v</span></a></span><span>
</span><span id="line-64"></span><span>    </span><span class="hs-keyword">where</span><span> </span><span class="annot"><a href="Distribution.Types.MungedPackageId.html#MungedPackageId"><span class="hs-identifier hs-type">MungedPackageId</span></a></span><span> </span><span class="annot"><span class="annottext">MungedPackageName
</span><span class="hs-identifier">_</span></span><span> </span><span id="local-6989586621679722814"><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621679722814"><span class="hs-identifier hs-var">v</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PreExistingComponent -&gt; MungedPackageId
</span><a href="Distribution.Backpack.PreExistingComponent.html#pc_munged_id"><span class="hs-identifier hs-var hs-var">pc_munged_id</span></a></span><span> </span><span class="annot"><span class="annottext">PreExistingComponent
</span><a href="#local-6989586621679722816"><span class="hs-identifier hs-var">pec</span></a></span><span>
</span><span id="line-65"></span><span>
</span><span id="line-66"></span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="Distribution.Package.html#HasUnitId"><span class="hs-identifier hs-type">HasUnitId</span></a></span><span> </span><span class="annot"><a href="Distribution.Backpack.PreExistingComponent.html#PreExistingComponent"><span class="hs-identifier hs-type">PreExistingComponent</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-67"></span><span>  </span><span id="local-6989586621679722807"><span class="annot"><span class="annottext">installedUnitId :: PreExistingComponent -&gt; UnitId
</span><a href="Distribution.Package.html#installedUnitId"><span class="hs-identifier hs-var hs-var hs-var hs-var">installedUnitId</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">PreExistingComponent -&gt; UnitId
</span><a href="Distribution.Backpack.PreExistingComponent.html#pc_uid"><span class="hs-identifier hs-var hs-var">pc_uid</span></a></span><span>
</span><span id="line-68"></span></pre></body></html>